package leetcode_900;

import java.util.Arrays;

/**
 *@author 周杨
 *ReorderedPowerOf2_869 给定一个正整数 问是否能够通过调换排列使新组成的数字是2的N次方
 *describe:只需要统计0-9出现的次数 如果出现次数相同 那么一定能调成2的N次方 AC 100%
 *2018年11月6日 下午3:17:52
 */
public class ReorderedPowerOf2_869 {
	public boolean reorderedPowerOf2(int N) {
		int count[]=count(N);
		for(int i=0;i<31;++i) {
			if(Arrays.equals(count, count(1<<i)))
				return true;
		}
		return false;
	}
	
	public int[] count(int n) {
		int res[]=new int[10];//统计0和9出现了多少次
		while(n>0) {
			res[n%10]++;
			n/=10;
		}
		return res;
	}
}
